// pages/login/login.js
import request from "../../utils/request";
Page({
  /**
   * 页面的初始数据
   */
  data: {
    phone: "",
    password: "",
  },
  /* 
    methods:
    登陆流程：
        1.手机表单数据
        2.前端验证 验证表单数据是否合法 不需要发请求
        3.后端验证 请求参数是否正确
        
  */
  handleSubmit(e) {
    console.log(e);
  },
  handleInput(e) {
    // 从事件对象上取出相应的值
    this.setData({
      [e.currentTarget.id]: e.detail.value,
    });
  },
  async login() {
    const { phone, password } = this.data;
    // 验证表单数据
    if (!phone) {
      wx.showToast({
        title: "手机号不能为空",
        icon: "none",
        duration: 2000,
      });
      return;
    }
    let phoneReg = /^1[3-9]\d{9}$/;
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: "手机号不合法",
        icon: "none",
        duration: 2000,
      });
      return;
    }
    if (!password) {
      wx.showToast({
        title: "密码不能为空",
        icon: "none",
        duration: 2000,
      });
      return;
    }
    // 请求登陆
    const userInfoData = await request("/login/cellphone", {
      phone,
      password,
    });
    // 验证返回结果
    if (userInfoData.code == 200) {
      wx.setStorage({
        key: "userInfo",
        data: userInfoData.profile,
      });
      wx.showToast({
        title: "登陆成功",
        icon: "none",
        duration: 2000,
      });
      wx.reLaunch({
        url: "/pages/profile/profile",
      });
    } else if (userInfoData.code == 501) {
      wx.showToast({
        title: "手机号不存在",
        icon: "none",
        duration: 2000,
      });
      return;
    } else if (userInfoData.code == 502) {
      wx.showToast({
        title: "密码错误",
        icon: "none",
        duration: 2000,
      });
      return;
    } else {
      wx.showToast({
        title: "未知错误，请重新登陆",
        icon: "none",
        duration: 2000,
      });
      return;
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {},
});
